iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
DevOps

現代化應用程式開發與維運 - GitHub Codespace 與 GitHub Copilot系列 第 28

GitHub Copilot 使用案例: Commit Message, Pull Request Summary, 與 Code Review

  • 分享至 

  • xImage
  •  

前言

有別於前面 GitHub Copilot 自動完成建議與 Chat 的介紹,另一個覺得實用的功能即是自動產生Commit Comment 與 Pull Request Summary。基本上,成熟的開發團隊會要求嚴謹的 Git Comment,以方便在某些情境下,可以不需要檢視每一個 Commit 變更內容,更快完成版本管理相關功能,像是:

  1. 因需求變更或 Release 失敗,需要回到過去某個 Commit 版本
  2. 因需求變更需要執行 Cherry Pick
  3. Product manager、Product Owner 檢視功能是否在此次 Release 釋出
  4. 查案尋找 Root Cause 時,檢視版控歷史紀錄

但一般來說,不一定每一位工程師都能將 Comment 寫得盡善盡美,甚至在時程壓力或習慣不好情況下,常常以簡易的 Updated 或 Fix 代替,導致遇到以上情境時花費更多時間去確認版本是否正確。現在透過 GitHub Copilot,您可以在 IDE 或 GitHub.com 上自動產生這些描述,達到事半功倍的效果。

運氣很好的是,在撰寫這篇文章期間,GitHub Copilot 在 GitHub.com 上相關功能釋出給 individual Plan 試用。過去這項功能只開放給 Enterprise Plan 使用。 詳細請參考:GitHub Copilot now available in github.com for Copilot Individual and Copilot Business plans

 
 
 

Commit Message

再談自動產生 Gommit Message 之前,我們先看一下 Git Commit 最佳實踐

  1. 撰寫 Good Commit Messages
  2. 經常 Commit
  3. Commit 與功能相關的變更
  4. 不要 Commit 半成品

簡單來說,完成一個小型變更且程式可以正常運作的情況下,即可建立一個 commit。除了便於維護外,此時使用自動產生 Commit Message 即不會產生過於冗長、與功能無關或描述不齊全的情況發生。使用自動產生 Commit Message 非常簡單,只需要在 Git commit 介面上點選自動產生按鈕,GitHub Copilot 即會產生變更建議,此時 IT 人員只需要 Review 確認無誤後,即可送出。

https://ithelp.ithome.com.tw/upload/images/20241012/200914940hgtEK8iEj.png

https://ithelp.ithome.com.tw/upload/images/20241012/20091494KJCAVX59vY.png

 
 
 

Pull Request Summary

良好的 Pull Request Description 可以有助於 Reviewer 在尚未詳細檢視變更內容前可以快速了解此次 Review 重點,加速 Pull Request 速度與正確性。理所當然,現在 GitHub Copilot 也能協助使用者自動產生 Pull Request Summary。

https://ithelp.ithome.com.tw/upload/images/20241012/200914947DHIrt4CJv.png

https://ithelp.ithome.com.tw/upload/images/20241012/20091494BJUyhngWL6.png

 
 
 

Refactor

GitHub Copilot 也可以協助使用者進行 Refactor 建議,除了直接詢問如何改善此程式碼外,你也能透過解釋 (Explain) 方式察覺邏輯錯誤,快速修正其問題。

https://ithelp.ithome.com.tw/upload/images/20241012/20091494d1tJ7mgPOr.png

https://ithelp.ithome.com.tw/upload/images/20241012/20091494rgUeqMOP7E.png

 
 
 

後記

經過本篇文章與上篇 GitHub Copilot 使用案例: 產生 dockerfile 、CI/CD YAML 檔案,與分析 GitHub Action 錯誤 介紹,眼尖的讀者應該會發現 GitHub Copilot 已經能對版本管理、容器化 與 CI/CD 提供建議與協助,加速使用建構 DevOps 流程。在下一篇文章,我們將簡單介紹 GitHub Workspace 與 GitHub Extension,個人覺得會改變 DevOps 人員生態的兩個服務。


上一篇
GitHub Copilot 使用案例: 產生 dockerfile 、CI/CD YAML 檔案,與分析 GitHub Action 錯誤
下一篇
GitHub Copilot Workspace 與 GitHub Copilot Extension 介紹
系列文
現代化應用程式開發與維運 - GitHub Codespace 與 GitHub Copilot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言